﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Text;
using iMES.Entity.SystemModels;

namespace iMES.Entity.DomainModels
{
    [Entity(TableCnName = "生产计划排程", TableName = "ProductPlanningList")]
    public partial class ProductPlanningList: SysEntity
    {
        /// <summary>
        /// 生产计划排程主键
        /// </summary>
        [Key]
        [Display(Name = "生产计划排程主键")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid ProductPlanningListId { get; set; }
        /// <summary>
        ///生产计划主键
        /// </summary>
        [Display(Name = "生产计划主键")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid ProductionPlanningId { get; set; }
        /// <summary>
        ///计划开始日期
        /// </summary>
        [Display(Name = "计划开始日期")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? PlanningStartDate { get; set; }
        /// <summary>
        ///计划结束日期
        /// </summary>
        [Display(Name = "计划结束日期")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? PlanningEndDate { get; set; }

        /// <summary>
        ///工人工时主键
        /// </summary>
        [Display(Name = "工人工时主键")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid WorkingHoursId { get; set; }

        /// <summary>
        ///工人编号
        /// </summary>
        [Display(Name = "工人编号")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? WorkerCode { get; set; }

        // <summary>
        ///工人编号
        /// </summary>
        [Display(Name = "工人名称")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? WorkerName { get; set; }

        // <summary>
        ///工人编号
        /// </summary>
        [Display(Name = "部门")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? Department { get; set; }
        // <summary>
        ///工人编号
        /// </summary>
        [Display(Name = "班组")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? Team { get; set; }
        // <summary>
        ///工人编号
        /// </summary>
        [Display(Name = "状态")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? WorkerState { get; set; }
        /// <summary>
        ///机床主键
        /// </summary>
        [Display(Name = "机床主键")]
        [Column(TypeName = "uniqueidentifier")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public Guid MachineId { get; set; }

        /// <summary>
        ///设备编号
        /// </summary>
        [Display(Name = "设备编号")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? DeviceCode { get; set; }

        // <summary>
        ///设备名称
        /// </summary>
        [Display(Name = "设备名称")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? DeviceName { get; set; }

        // <summary>
        ///设备状态
        /// </summary>
        [Display(Name = "设备状态")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? DeviceState { get; set; }
        // <summary>
        ///设备图片
        /// </summary>
        [Display(Name = "设备图片")]
        [MaxLength(100)]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string? DevicePicture { get; set; }
    }
}
